home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / WindowSystem.h < prev   
C/C++ Source or Header  |  1990-11-28  |  1KB  |  55 lines

  1. #ifndef WindowSystem_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define WindowSystem_First
  6.  
  7. #include "Port.h"
  8. #include "System.h"
  9.  
  10. typedef void (*InpHandlerFun)(void*, Token*);     
  11.     // event handler function
  12.  
  13. //---- WindowSystem ------------------------------------------------------------
  14.  
  15. class WindowSystem : public SysEvtHandler {
  16. protected:
  17.     char *wsName;
  18.     bool hasExternalWindowManager;
  19. public:
  20.     MetaDef(WindowSystem);
  21.     WindowSystem(bool &ok, char *name= "GENERIC");
  22.  
  23.     virtual ~WindowSystem();
  24.     
  25.     char *GetWsName()
  26.     { return wsName; }
  27.     bool HasExternalWindowManager()
  28.     { return hasExternalWindowManager; }
  29.  
  30.     virtual void Init();
  31.     virtual class WindowPort *MakeWindow(InpHandlerFun ihf, void *priv1,
  32.                 bool overlay, bool block, bool wm);
  33.     virtual void RemoveWindow(WindowPort*);
  34.     virtual FontManager *MakeFontManager(char*);
  35.     virtual DevBitmap *MakeDevBitmap(Point sz, u_short *data, u_short depth);
  36.     virtual DevBitmap *LoadDevBitmap(const char *name);
  37.     virtual void graphicDelay(unsigned int);
  38.     virtual class ClipBoard *MakeClipboard();
  39.     virtual bool interrupted();
  40. };
  41.  
  42. extern WindowSystem *gWindowSystem;
  43. extern Rectangle    gScreenRect;
  44. extern bool         gWinInit;
  45. extern bool         gColor;
  46. extern int          gDepth;
  47.  
  48. inline bool Interrupted()
  49.     { return gWindowSystem->interrupted(); }
  50.  
  51. inline void GraphicDelay(unsigned int duration)
  52.     { gWindowSystem->graphicDelay(duration); }
  53.  
  54. #endif WindowSystem_First
  55.